<template>
  <div>
    <el-date-picker
        :editable="false"
        v-model="startBudgetTime"
        :picker-options="startDatePicker"
        type="datetime"
        value-format="yyyy-MM-dd HH:mm:ss"
        format="yyyy-MM-dd HH:mm:ss"
        placeholder="开始时间"
        @change="starTime"
        class="date_picker"
    >
    </el-date-picker>
    <el-date-picker
    v-model="endBudgetTime"
    :editable="false"
    :picker-options="endDatePicker"
    type="datetime"
    value-format="yyyy-MM-dd HH:mm:ss"
    format="yyyy-MM-dd HH:mm:ss"
    default-time="['23:59:59']"
    placeholder="结束时间"
    @change="endTime"
    class="date_picker"
    >
    </el-date-picker>
  </div>
</template>

<script>
export default {
  name: "indexTime",
  data() {
    return {
      startBudgetTime: "", // 预算开始时间
      endBudgetTime: "", // 预算结束时间
      startDatePicker: this.beginDate(),
      endDatePicker: this.processDate(),
    };
  },
  methods: {
    beginDate() {
      const self = this;
      return {
        disabledDate(time) {
          if (self.endBudgetTime) {
            //如果结束时间不为空，则小于结束时间
            return new Date(self.endBudgetTime).getTime() < time.getTime();
          } else {
            // return time.getTime() > Date.now()//开始时间不选时，结束时间最大值小于等于当天
          }
        }
      };
    },
    processDate() {
      const self = this;
      return {
        disabledDate(time) {
          if (self.startBudgetTime) {
            //如果开始时间不为空，则结束时间大于开始时间
            return new Date(self.startBudgetTime).getTime() > time.getTime();
          } else {
            // return time.getTime() > Date.now()//开始时间不选时，结束时间最大值小于等于当天
          }
        }
      }
    },
    starTime(){
    // 将开始时间转换为时间戳
      let start = new Date(this.startBudgetTime).getTime()
    //  将结束时间转换为时间戳
      let end = new Date(this.endBudgetTime).getTime()
      console.log(start,end)
    //  判断开始时间是否大于结束时间
      if(start > end){
        this.$message.error('开始时间不能大于结束时间')
        this.startBudgetTime = ''
      }
    },
    endTime(){
    // 将开始时间转换为时间戳
      let start = new Date(this.startBudgetTime).getTime()
    //  将结束时间转换为时间戳
      let end = new Date(this.endBudgetTime).getTime()
      console.log(start,end)
    //  判断开始时间是否大于结束时间
      if(start > end){
        this.$message.error('结束时间不能小于开始时间')
        this.endBudgetTime = ''
      }
    }
    }
};
</script>

<style lang="less">
.el-picker-panel__footer .el-button--text.el-picker-panel__link-btn {
  display: none;
}

</style>